package cn.lll.vuehouse.service;

import cn.lll.vuehouse.FORM.UserLoginForm;
import cn.lll.vuehouse.common.ResponseResult;
import cn.lll.vuehouse.dto.UserDto;
import cn.lll.vuehouse.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
* @author asus-pc
* @description 针对表【sys_user】的数据库操作Service
* @createDate 2023-09-01 11:34:23
*/
public interface UserService extends IService<User> {

    ResponseResult login(UserLoginForm userLoginForm, HttpServletRequest httpServletRequest);

    ResponseResult getMenu(HttpServletRequest request);


    ResponseResult getCurrentPageUserInfo(UserDto userDto) throws InvocationTargetException, IllegalAccessException;

    ResponseResult getFullUserInfo(Integer id) throws InvocationTargetException, IllegalAccessException;

    ResponseResult changeUserAvailable(User user);

    ResponseResult batchDeleteUser(List<Integer> ids);

    ResponseResult addAndUpdateUser(User user);

}
